listitemmanager: Add trackers
authorBenjamin Otte <otte@redhat.com>
Wed, 27 Feb 2019 07:45:28 +0000 (08:45 +0100)
committerMatthias Clasen <mclasen@redhat.com>
Sat, 30 May 2020 23:26:45 +0000 (19:26 -0400)
commit1acfae8df285e516eb8245fb999b2481714bc448
treec680f2d5ee9f55000239fb7bf82049cea9db4f4a
parentce489f21fb959ba65a1019c32d42de4594d12425
listitemmanager: Add trackers

... and replace the anchor tracking with a tracker.

Trackers track an item through the list across changes and ensure that
this item (and potentially siblings before/after it) are always backed
by a GtkListItem and that if the item gets removed a replacement gets
chosen.

This is now used for tracking the anchor but can also be used to add
trackers for the cursor later.
gtk/gtklistitemmanager.c
gtk/gtklistitemmanagerprivate.h
gtk/gtklistview.c